package com.atguigu.Threads;

/**
 * 线程的几个常用方法;
 * 1.start():启动当前线程，调用run方法
 * 2.run():通常需要重写Thread类中的此方法，将创建的线程要执行的操作声明在此方法中
 * 3.currentThread():静态方法，返回当前代码的线程
 * 4.getName():获取当前线程的名字
 * 5.setName():设置当前线程的名字
 * 6.yield():释放当前线程对cpu的执行权
 * 7.join():在a线程中执行b的join()方法，a进入阻塞状态，b线程加入，知道b线程完全执行完毕后线程a才结束阻塞状态
 * 8.stop():强制结束线程，已过时
 * 9.sleep():睡眠
 *
 * @author xiaoqi
 * @data 2021/04/02 0:28
 */
public class ThreadMethod {
    public static void main(String[] args) throws InterruptedException {
        MyThread t1 = new MyThread();
        t1.start();
        Thread.currentThread().setName("主线程");
        for (int i = 0; i < 20; i++) {
            Thread.yield();
            System.out.println(Thread.currentThread().getName() + ":" + i);
            if(i == 10){
                t1.join();
            }
        }
    }
}


